/*
*
* ProductSellerGoodsAttrExample.java
* @author yaokan
* @date 2020-11-26 14:32:36
*/
package com.steel.yfmall.cloud.assistant.po.goods;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class ProductSellerGoodsAttrExample {
    /**
     * product_seller_goods_attr
     */
    protected String orderByClause;

    /**
     * product_seller_goods_attr
     */
    protected boolean distinct;

    /**
     * product_seller_goods_attr
     */
    protected List<Criteria> oredCriteria;

    private Integer limit;

    private Integer offset;

    private String groupByClause;

    private String selectFields;

    /**
     * 构造查询条件:product_seller_goods_attr
     * @Title: ProductSellerGoodsAttrExample
     * @Description: ( )
     * @return 返回类型 null
     * @date 2020-11-26 14:32:36
     */
    public ProductSellerGoodsAttrExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    /**
     * 设置排序字段:product_seller_goods_attr
     * @Title: setOrderByClause
     * @Description: ( 设置排序字段 )
     * @param 参数说明 类型:String	名称:orderByClause 排序字段
     * @return 返回类型 null
     * @date 2020-11-26 14:32:36
     */
    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    /**
     * 获取排序字段:product_seller_goods_attr
     * @Title: getOrderByClause
     * @Description: ( 获取排序字段 )
     * @return 返回类型 java.lang.String
     * @date 2020-11-26 14:32:36
     */
    public String getOrderByClause() {
        return orderByClause;
    }

    /**
     * 设置过滤重复数据:product_seller_goods_attr
     * @Title: setDistinct
     * @Description: ( 设置过滤重复数据 )
     * @param 参数说明 类型:boolean	名称:distinct 是否过滤重复数据
     * @return 返回类型 null
     * @date 2020-11-26 14:32:36
     */
    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    /**
     * 是否过滤重复数据:product_seller_goods_attr
     * @Title: isDistinct
     * @Description: ( 是否过滤重复数据 )
     * @return 返回类型 boolean
     * @date 2020-11-26 14:32:36
     */
    public boolean isDistinct() {
        return distinct;
    }

    /**
     * 获取当前的查询条件实例:product_seller_goods_attr
     * @Title: getOredCriteria
     * @Description: ( 获取当前的查询条件实例 )
     * @return 返回类型 java.util.List<Criteria>
     * @date 2020-11-26 14:32:36
     */
    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    /**
     *:product_seller_goods_attr
     * @Title: or
     * @Description: ( )
     *
     * @param 参数说明 类型:Criteria	名称:criteria 过滤条件实例
     * @return 返回类型 null
     * @date 2020-11-26 14:32:36
     */
    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    /**
     *:product_seller_goods_attr
     * @Title: or
     * @Description: ( )
     *
     * @return 返回类型 Criteria
     * @date 2020-11-26 14:32:36
     */
    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    /**
     * 创建一个查询条件:product_seller_goods_attr
     * @Title: createCriteria
     * @Description: ( 创建一个查询条件 )
     * @return 返回类型 Criteria
     * @date 2020-11-26 14:32:36
     */
    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    /**
     * 内部构建查询条件对象:product_seller_goods_attr
     * @Title: createCriteriaInternal
     * @Description: ( 内部构建查询条件对象 )
     * @return 返回类型 Criteria
     * @date 2020-11-26 14:32:36
     */
    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    /**
     * 清除查询条件:product_seller_goods_attr
     * @Title: clear
     * @Description: ( 清除查询条件 )
     * @return 返回类型 null
     * @date 2020-11-26 14:32:36
     */
    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    public void limit(Integer offset, Integer limit) {
        this.offset = offset;
        this.limit = limit;
    }

    public Integer getLimit() {
        return limit;
    }

    public void setOffset(Integer offset) {
        this.offset = offset;
    }

    public Integer getOffset() {
        return offset;
    }

    public void setGroupByClause(String groupByClause) {
        this.groupByClause = groupByClause;
    }

    public String getGroupByClause() {
        return groupByClause;
    }

    public void setSelectFields(String selectFields) {
        this.selectFields = selectFields;
    }

    public String getSelectFields() {
        return selectFields;
    }

    /**
     * @title product_seller_goods_attr表的实体类
     * @description product_seller_goods_attr
     * @version 1.0
     * @author yaokan
     * @date 2020-11-26 14:32:36
     */
    protected abstract static class GeneratedCriteria implements java.io.Serializable {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andSellerCodeIsNull() {
            addCriterion("seller_code is null");
            return (Criteria) this;
        }

        public Criteria andSellerCodeIsNotNull() {
            addCriterion("seller_code is not null");
            return (Criteria) this;
        }

        public Criteria andSellerCodeEqualTo(String value) {
            addCriterion("seller_code =", value, "sellerCode");
            return (Criteria) this;
        }

        public Criteria andSellerCodeNotEqualTo(String value) {
            addCriterion("seller_code <>", value, "sellerCode");
            return (Criteria) this;
        }

        public Criteria andSellerCodeGreaterThan(String value) {
            addCriterion("seller_code >", value, "sellerCode");
            return (Criteria) this;
        }

        public Criteria andSellerCodeGreaterThanOrEqualTo(String value) {
            addCriterion("seller_code >=", value, "sellerCode");
            return (Criteria) this;
        }

        public Criteria andSellerCodeLessThan(String value) {
            addCriterion("seller_code <", value, "sellerCode");
            return (Criteria) this;
        }

        public Criteria andSellerCodeLessThanOrEqualTo(String value) {
            addCriterion("seller_code <=", value, "sellerCode");
            return (Criteria) this;
        }

        public Criteria andSellerCodeLike(String value) {
            addCriterion("seller_code like", value, "sellerCode");
            return (Criteria) this;
        }

        public Criteria andSellerCodeNotLike(String value) {
            addCriterion("seller_code not like", value, "sellerCode");
            return (Criteria) this;
        }

        public Criteria andSellerCodeIn(List<String> values) {
            addCriterion("seller_code in", values, "sellerCode");
            return (Criteria) this;
        }

        public Criteria andSellerCodeNotIn(List<String> values) {
            addCriterion("seller_code not in", values, "sellerCode");
            return (Criteria) this;
        }

        public Criteria andSellerCodeBetween(String value1, String value2) {
            addCriterion("seller_code between", value1, value2, "sellerCode");
            return (Criteria) this;
        }

        public Criteria andSellerCodeNotBetween(String value1, String value2) {
            addCriterion("seller_code not between", value1, value2, "sellerCode");
            return (Criteria) this;
        }

        public Criteria andSiteCodeIsNull() {
            addCriterion("site_code is null");
            return (Criteria) this;
        }

        public Criteria andSiteCodeIsNotNull() {
            addCriterion("site_code is not null");
            return (Criteria) this;
        }

        public Criteria andSiteCodeEqualTo(String value) {
            addCriterion("site_code =", value, "siteCode");
            return (Criteria) this;
        }

        public Criteria andSiteCodeNotEqualTo(String value) {
            addCriterion("site_code <>", value, "siteCode");
            return (Criteria) this;
        }

        public Criteria andSiteCodeGreaterThan(String value) {
            addCriterion("site_code >", value, "siteCode");
            return (Criteria) this;
        }

        public Criteria andSiteCodeGreaterThanOrEqualTo(String value) {
            addCriterion("site_code >=", value, "siteCode");
            return (Criteria) this;
        }

        public Criteria andSiteCodeLessThan(String value) {
            addCriterion("site_code <", value, "siteCode");
            return (Criteria) this;
        }

        public Criteria andSiteCodeLessThanOrEqualTo(String value) {
            addCriterion("site_code <=", value, "siteCode");
            return (Criteria) this;
        }

        public Criteria andSiteCodeLike(String value) {
            addCriterion("site_code like", value, "siteCode");
            return (Criteria) this;
        }

        public Criteria andSiteCodeNotLike(String value) {
            addCriterion("site_code not like", value, "siteCode");
            return (Criteria) this;
        }

        public Criteria andSiteCodeIn(List<String> values) {
            addCriterion("site_code in", values, "siteCode");
            return (Criteria) this;
        }

        public Criteria andSiteCodeNotIn(List<String> values) {
            addCriterion("site_code not in", values, "siteCode");
            return (Criteria) this;
        }

        public Criteria andSiteCodeBetween(String value1, String value2) {
            addCriterion("site_code between", value1, value2, "siteCode");
            return (Criteria) this;
        }

        public Criteria andSiteCodeNotBetween(String value1, String value2) {
            addCriterion("site_code not between", value1, value2, "siteCode");
            return (Criteria) this;
        }

        public Criteria andProductSysCodeIsNull() {
            addCriterion("product_sys_code is null");
            return (Criteria) this;
        }

        public Criteria andProductSysCodeIsNotNull() {
            addCriterion("product_sys_code is not null");
            return (Criteria) this;
        }

        public Criteria andProductSysCodeEqualTo(String value) {
            addCriterion("product_sys_code =", value, "productSysCode");
            return (Criteria) this;
        }

        public Criteria andProductSysCodeNotEqualTo(String value) {
            addCriterion("product_sys_code <>", value, "productSysCode");
            return (Criteria) this;
        }

        public Criteria andProductSysCodeGreaterThan(String value) {
            addCriterion("product_sys_code >", value, "productSysCode");
            return (Criteria) this;
        }

        public Criteria andProductSysCodeGreaterThanOrEqualTo(String value) {
            addCriterion("product_sys_code >=", value, "productSysCode");
            return (Criteria) this;
        }

        public Criteria andProductSysCodeLessThan(String value) {
            addCriterion("product_sys_code <", value, "productSysCode");
            return (Criteria) this;
        }

        public Criteria andProductSysCodeLessThanOrEqualTo(String value) {
            addCriterion("product_sys_code <=", value, "productSysCode");
            return (Criteria) this;
        }

        public Criteria andProductSysCodeLike(String value) {
            addCriterion("product_sys_code like", value, "productSysCode");
            return (Criteria) this;
        }

        public Criteria andProductSysCodeNotLike(String value) {
            addCriterion("product_sys_code not like", value, "productSysCode");
            return (Criteria) this;
        }

        public Criteria andProductSysCodeIn(List<String> values) {
            addCriterion("product_sys_code in", values, "productSysCode");
            return (Criteria) this;
        }

        public Criteria andProductSysCodeNotIn(List<String> values) {
            addCriterion("product_sys_code not in", values, "productSysCode");
            return (Criteria) this;
        }

        public Criteria andProductSysCodeBetween(String value1, String value2) {
            addCriterion("product_sys_code between", value1, value2, "productSysCode");
            return (Criteria) this;
        }

        public Criteria andProductSysCodeNotBetween(String value1, String value2) {
            addCriterion("product_sys_code not between", value1, value2, "productSysCode");
            return (Criteria) this;
        }

        public Criteria andAttrKeyIdIsNull() {
            addCriterion("attr_key_id is null");
            return (Criteria) this;
        }

        public Criteria andAttrKeyIdIsNotNull() {
            addCriterion("attr_key_id is not null");
            return (Criteria) this;
        }

        public Criteria andAttrKeyIdEqualTo(Integer value) {
            addCriterion("attr_key_id =", value, "attrKeyId");
            return (Criteria) this;
        }

        public Criteria andAttrKeyIdNotEqualTo(Integer value) {
            addCriterion("attr_key_id <>", value, "attrKeyId");
            return (Criteria) this;
        }

        public Criteria andAttrKeyIdGreaterThan(Integer value) {
            addCriterion("attr_key_id >", value, "attrKeyId");
            return (Criteria) this;
        }

        public Criteria andAttrKeyIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("attr_key_id >=", value, "attrKeyId");
            return (Criteria) this;
        }

        public Criteria andAttrKeyIdLessThan(Integer value) {
            addCriterion("attr_key_id <", value, "attrKeyId");
            return (Criteria) this;
        }

        public Criteria andAttrKeyIdLessThanOrEqualTo(Integer value) {
            addCriterion("attr_key_id <=", value, "attrKeyId");
            return (Criteria) this;
        }

        public Criteria andAttrKeyIdIn(List<Integer> values) {
            addCriterion("attr_key_id in", values, "attrKeyId");
            return (Criteria) this;
        }

        public Criteria andAttrKeyIdNotIn(List<Integer> values) {
            addCriterion("attr_key_id not in", values, "attrKeyId");
            return (Criteria) this;
        }

        public Criteria andAttrKeyIdBetween(Integer value1, Integer value2) {
            addCriterion("attr_key_id between", value1, value2, "attrKeyId");
            return (Criteria) this;
        }

        public Criteria andAttrKeyIdNotBetween(Integer value1, Integer value2) {
            addCriterion("attr_key_id not between", value1, value2, "attrKeyId");
            return (Criteria) this;
        }

        public Criteria andAttrValueIdIsNull() {
            addCriterion("attr_value_id is null");
            return (Criteria) this;
        }

        public Criteria andAttrValueIdIsNotNull() {
            addCriterion("attr_value_id is not null");
            return (Criteria) this;
        }

        public Criteria andAttrValueIdEqualTo(Integer value) {
            addCriterion("attr_value_id =", value, "attrValueId");
            return (Criteria) this;
        }

        public Criteria andAttrValueIdNotEqualTo(Integer value) {
            addCriterion("attr_value_id <>", value, "attrValueId");
            return (Criteria) this;
        }

        public Criteria andAttrValueIdGreaterThan(Integer value) {
            addCriterion("attr_value_id >", value, "attrValueId");
            return (Criteria) this;
        }

        public Criteria andAttrValueIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("attr_value_id >=", value, "attrValueId");
            return (Criteria) this;
        }

        public Criteria andAttrValueIdLessThan(Integer value) {
            addCriterion("attr_value_id <", value, "attrValueId");
            return (Criteria) this;
        }

        public Criteria andAttrValueIdLessThanOrEqualTo(Integer value) {
            addCriterion("attr_value_id <=", value, "attrValueId");
            return (Criteria) this;
        }

        public Criteria andAttrValueIdIn(List<Integer> values) {
            addCriterion("attr_value_id in", values, "attrValueId");
            return (Criteria) this;
        }

        public Criteria andAttrValueIdNotIn(List<Integer> values) {
            addCriterion("attr_value_id not in", values, "attrValueId");
            return (Criteria) this;
        }

        public Criteria andAttrValueIdBetween(Integer value1, Integer value2) {
            addCriterion("attr_value_id between", value1, value2, "attrValueId");
            return (Criteria) this;
        }

        public Criteria andAttrValueIdNotBetween(Integer value1, Integer value2) {
            addCriterion("attr_value_id not between", value1, value2, "attrValueId");
            return (Criteria) this;
        }

        public Criteria andValueIsNull() {
            addCriterion("value is null");
            return (Criteria) this;
        }

        public Criteria andValueIsNotNull() {
            addCriterion("value is not null");
            return (Criteria) this;
        }

        public Criteria andValueEqualTo(String value) {
            addCriterion("value =", value, "value");
            return (Criteria) this;
        }

        public Criteria andValueNotEqualTo(String value) {
            addCriterion("value <>", value, "value");
            return (Criteria) this;
        }

        public Criteria andValueGreaterThan(String value) {
            addCriterion("value >", value, "value");
            return (Criteria) this;
        }

        public Criteria andValueGreaterThanOrEqualTo(String value) {
            addCriterion("value >=", value, "value");
            return (Criteria) this;
        }

        public Criteria andValueLessThan(String value) {
            addCriterion("value <", value, "value");
            return (Criteria) this;
        }

        public Criteria andValueLessThanOrEqualTo(String value) {
            addCriterion("value <=", value, "value");
            return (Criteria) this;
        }

        public Criteria andValueLike(String value) {
            addCriterion("value like", value, "value");
            return (Criteria) this;
        }

        public Criteria andValueNotLike(String value) {
            addCriterion("value not like", value, "value");
            return (Criteria) this;
        }

        public Criteria andValueIn(List<String> values) {
            addCriterion("value in", values, "value");
            return (Criteria) this;
        }

        public Criteria andValueNotIn(List<String> values) {
            addCriterion("value not in", values, "value");
            return (Criteria) this;
        }

        public Criteria andValueBetween(String value1, String value2) {
            addCriterion("value between", value1, value2, "value");
            return (Criteria) this;
        }

        public Criteria andValueNotBetween(String value1, String value2) {
            addCriterion("value not between", value1, value2, "value");
            return (Criteria) this;
        }

        public Criteria andIsSearchIsNull() {
            addCriterion("is_search is null");
            return (Criteria) this;
        }

        public Criteria andIsSearchIsNotNull() {
            addCriterion("is_search is not null");
            return (Criteria) this;
        }

        public Criteria andIsSearchEqualTo(Integer value) {
            addCriterion("is_search =", value, "isSearch");
            return (Criteria) this;
        }

        public Criteria andIsSearchNotEqualTo(Integer value) {
            addCriterion("is_search <>", value, "isSearch");
            return (Criteria) this;
        }

        public Criteria andIsSearchGreaterThan(Integer value) {
            addCriterion("is_search >", value, "isSearch");
            return (Criteria) this;
        }

        public Criteria andIsSearchGreaterThanOrEqualTo(Integer value) {
            addCriterion("is_search >=", value, "isSearch");
            return (Criteria) this;
        }

        public Criteria andIsSearchLessThan(Integer value) {
            addCriterion("is_search <", value, "isSearch");
            return (Criteria) this;
        }

        public Criteria andIsSearchLessThanOrEqualTo(Integer value) {
            addCriterion("is_search <=", value, "isSearch");
            return (Criteria) this;
        }

        public Criteria andIsSearchIn(List<Integer> values) {
            addCriterion("is_search in", values, "isSearch");
            return (Criteria) this;
        }

        public Criteria andIsSearchNotIn(List<Integer> values) {
            addCriterion("is_search not in", values, "isSearch");
            return (Criteria) this;
        }

        public Criteria andIsSearchBetween(Integer value1, Integer value2) {
            addCriterion("is_search between", value1, value2, "isSearch");
            return (Criteria) this;
        }

        public Criteria andIsSearchNotBetween(Integer value1, Integer value2) {
            addCriterion("is_search not between", value1, value2, "isSearch");
            return (Criteria) this;
        }

        public Criteria andSortIsNull() {
            addCriterion("sort is null");
            return (Criteria) this;
        }

        public Criteria andSortIsNotNull() {
            addCriterion("sort is not null");
            return (Criteria) this;
        }

        public Criteria andSortEqualTo(Integer value) {
            addCriterion("sort =", value, "sort");
            return (Criteria) this;
        }

        public Criteria andSortNotEqualTo(Integer value) {
            addCriterion("sort <>", value, "sort");
            return (Criteria) this;
        }

        public Criteria andSortGreaterThan(Integer value) {
            addCriterion("sort >", value, "sort");
            return (Criteria) this;
        }

        public Criteria andSortGreaterThanOrEqualTo(Integer value) {
            addCriterion("sort >=", value, "sort");
            return (Criteria) this;
        }

        public Criteria andSortLessThan(Integer value) {
            addCriterion("sort <", value, "sort");
            return (Criteria) this;
        }

        public Criteria andSortLessThanOrEqualTo(Integer value) {
            addCriterion("sort <=", value, "sort");
            return (Criteria) this;
        }

        public Criteria andSortIn(List<Integer> values) {
            addCriterion("sort in", values, "sort");
            return (Criteria) this;
        }

        public Criteria andSortNotIn(List<Integer> values) {
            addCriterion("sort not in", values, "sort");
            return (Criteria) this;
        }

        public Criteria andSortBetween(Integer value1, Integer value2) {
            addCriterion("sort between", value1, value2, "sort");
            return (Criteria) this;
        }

        public Criteria andSortNotBetween(Integer value1, Integer value2) {
            addCriterion("sort not between", value1, value2, "sort");
            return (Criteria) this;
        }

        public Criteria andCreateUserIsNull() {
            addCriterion("create_user is null");
            return (Criteria) this;
        }

        public Criteria andCreateUserIsNotNull() {
            addCriterion("create_user is not null");
            return (Criteria) this;
        }

        public Criteria andCreateUserEqualTo(String value) {
            addCriterion("create_user =", value, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserNotEqualTo(String value) {
            addCriterion("create_user <>", value, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserGreaterThan(String value) {
            addCriterion("create_user >", value, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserGreaterThanOrEqualTo(String value) {
            addCriterion("create_user >=", value, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserLessThan(String value) {
            addCriterion("create_user <", value, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserLessThanOrEqualTo(String value) {
            addCriterion("create_user <=", value, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserLike(String value) {
            addCriterion("create_user like", value, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserNotLike(String value) {
            addCriterion("create_user not like", value, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserIn(List<String> values) {
            addCriterion("create_user in", values, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserNotIn(List<String> values) {
            addCriterion("create_user not in", values, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserBetween(String value1, String value2) {
            addCriterion("create_user between", value1, value2, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateUserNotBetween(String value1, String value2) {
            addCriterion("create_user not between", value1, value2, "createUser");
            return (Criteria) this;
        }

        public Criteria andCreateDateIsNull() {
            addCriterion("create_date is null");
            return (Criteria) this;
        }

        public Criteria andCreateDateIsNotNull() {
            addCriterion("create_date is not null");
            return (Criteria) this;
        }

        public Criteria andCreateDateEqualTo(Date value) {
            addCriterion("create_date =", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateNotEqualTo(Date value) {
            addCriterion("create_date <>", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateGreaterThan(Date value) {
            addCriterion("create_date >", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateGreaterThanOrEqualTo(Date value) {
            addCriterion("create_date >=", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateLessThan(Date value) {
            addCriterion("create_date <", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateLessThanOrEqualTo(Date value) {
            addCriterion("create_date <=", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateIn(List<Date> values) {
            addCriterion("create_date in", values, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateNotIn(List<Date> values) {
            addCriterion("create_date not in", values, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateBetween(Date value1, Date value2) {
            addCriterion("create_date between", value1, value2, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateNotBetween(Date value1, Date value2) {
            addCriterion("create_date not between", value1, value2, "createDate");
            return (Criteria) this;
        }

        public Criteria andLastUpdateUserIsNull() {
            addCriterion("last_update_user is null");
            return (Criteria) this;
        }

        public Criteria andLastUpdateUserIsNotNull() {
            addCriterion("last_update_user is not null");
            return (Criteria) this;
        }

        public Criteria andLastUpdateUserEqualTo(String value) {
            addCriterion("last_update_user =", value, "lastUpdateUser");
            return (Criteria) this;
        }

        public Criteria andLastUpdateUserNotEqualTo(String value) {
            addCriterion("last_update_user <>", value, "lastUpdateUser");
            return (Criteria) this;
        }

        public Criteria andLastUpdateUserGreaterThan(String value) {
            addCriterion("last_update_user >", value, "lastUpdateUser");
            return (Criteria) this;
        }

        public Criteria andLastUpdateUserGreaterThanOrEqualTo(String value) {
            addCriterion("last_update_user >=", value, "lastUpdateUser");
            return (Criteria) this;
        }

        public Criteria andLastUpdateUserLessThan(String value) {
            addCriterion("last_update_user <", value, "lastUpdateUser");
            return (Criteria) this;
        }

        public Criteria andLastUpdateUserLessThanOrEqualTo(String value) {
            addCriterion("last_update_user <=", value, "lastUpdateUser");
            return (Criteria) this;
        }

        public Criteria andLastUpdateUserLike(String value) {
            addCriterion("last_update_user like", value, "lastUpdateUser");
            return (Criteria) this;
        }

        public Criteria andLastUpdateUserNotLike(String value) {
            addCriterion("last_update_user not like", value, "lastUpdateUser");
            return (Criteria) this;
        }

        public Criteria andLastUpdateUserIn(List<String> values) {
            addCriterion("last_update_user in", values, "lastUpdateUser");
            return (Criteria) this;
        }

        public Criteria andLastUpdateUserNotIn(List<String> values) {
            addCriterion("last_update_user not in", values, "lastUpdateUser");
            return (Criteria) this;
        }

        public Criteria andLastUpdateUserBetween(String value1, String value2) {
            addCriterion("last_update_user between", value1, value2, "lastUpdateUser");
            return (Criteria) this;
        }

        public Criteria andLastUpdateUserNotBetween(String value1, String value2) {
            addCriterion("last_update_user not between", value1, value2, "lastUpdateUser");
            return (Criteria) this;
        }

        public Criteria andLastUpdateDateIsNull() {
            addCriterion("last_update_date is null");
            return (Criteria) this;
        }

        public Criteria andLastUpdateDateIsNotNull() {
            addCriterion("last_update_date is not null");
            return (Criteria) this;
        }

        public Criteria andLastUpdateDateEqualTo(Date value) {
            addCriterion("last_update_date =", value, "lastUpdateDate");
            return (Criteria) this;
        }

        public Criteria andLastUpdateDateNotEqualTo(Date value) {
            addCriterion("last_update_date <>", value, "lastUpdateDate");
            return (Criteria) this;
        }

        public Criteria andLastUpdateDateGreaterThan(Date value) {
            addCriterion("last_update_date >", value, "lastUpdateDate");
            return (Criteria) this;
        }

        public Criteria andLastUpdateDateGreaterThanOrEqualTo(Date value) {
            addCriterion("last_update_date >=", value, "lastUpdateDate");
            return (Criteria) this;
        }

        public Criteria andLastUpdateDateLessThan(Date value) {
            addCriterion("last_update_date <", value, "lastUpdateDate");
            return (Criteria) this;
        }

        public Criteria andLastUpdateDateLessThanOrEqualTo(Date value) {
            addCriterion("last_update_date <=", value, "lastUpdateDate");
            return (Criteria) this;
        }

        public Criteria andLastUpdateDateIn(List<Date> values) {
            addCriterion("last_update_date in", values, "lastUpdateDate");
            return (Criteria) this;
        }

        public Criteria andLastUpdateDateNotIn(List<Date> values) {
            addCriterion("last_update_date not in", values, "lastUpdateDate");
            return (Criteria) this;
        }

        public Criteria andLastUpdateDateBetween(Date value1, Date value2) {
            addCriterion("last_update_date between", value1, value2, "lastUpdateDate");
            return (Criteria) this;
        }

        public Criteria andLastUpdateDateNotBetween(Date value1, Date value2) {
            addCriterion("last_update_date not between", value1, value2, "lastUpdateDate");
            return (Criteria) this;
        }

        public Criteria andLastControllerNameIsNull() {
            addCriterion("last_controller_name is null");
            return (Criteria) this;
        }

        public Criteria andLastControllerNameIsNotNull() {
            addCriterion("last_controller_name is not null");
            return (Criteria) this;
        }

        public Criteria andLastControllerNameEqualTo(String value) {
            addCriterion("last_controller_name =", value, "lastControllerName");
            return (Criteria) this;
        }

        public Criteria andLastControllerNameNotEqualTo(String value) {
            addCriterion("last_controller_name <>", value, "lastControllerName");
            return (Criteria) this;
        }

        public Criteria andLastControllerNameGreaterThan(String value) {
            addCriterion("last_controller_name >", value, "lastControllerName");
            return (Criteria) this;
        }

        public Criteria andLastControllerNameGreaterThanOrEqualTo(String value) {
            addCriterion("last_controller_name >=", value, "lastControllerName");
            return (Criteria) this;
        }

        public Criteria andLastControllerNameLessThan(String value) {
            addCriterion("last_controller_name <", value, "lastControllerName");
            return (Criteria) this;
        }

        public Criteria andLastControllerNameLessThanOrEqualTo(String value) {
            addCriterion("last_controller_name <=", value, "lastControllerName");
            return (Criteria) this;
        }

        public Criteria andLastControllerNameLike(String value) {
            addCriterion("last_controller_name like", value, "lastControllerName");
            return (Criteria) this;
        }

        public Criteria andLastControllerNameNotLike(String value) {
            addCriterion("last_controller_name not like", value, "lastControllerName");
            return (Criteria) this;
        }

        public Criteria andLastControllerNameIn(List<String> values) {
            addCriterion("last_controller_name in", values, "lastControllerName");
            return (Criteria) this;
        }

        public Criteria andLastControllerNameNotIn(List<String> values) {
            addCriterion("last_controller_name not in", values, "lastControllerName");
            return (Criteria) this;
        }

        public Criteria andLastControllerNameBetween(String value1, String value2) {
            addCriterion("last_controller_name between", value1, value2, "lastControllerName");
            return (Criteria) this;
        }

        public Criteria andLastControllerNameNotBetween(String value1, String value2) {
            addCriterion("last_controller_name not between", value1, value2, "lastControllerName");
            return (Criteria) this;
        }
    }

    /**
     * product_seller_goods_attr
     */
    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    /**
     * @title product_seller_goods_attr表的实体类
     * @description product_seller_goods_attr
     * @version 1.0
     * @author yaokan
     * @date 2020-11-26 14:32:36
     */
    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}
